#pragma once

#include <ClanLib/core.h>

namespace irr 
{ 
	class IrrlichtDevice; 
	namespace video { class IVideoDriver; }
	namespace scene { class ISceneManager; }
	namespace gui { class IGUIEnvironment; }
}

namespace Render
{
	class RenderManager
	{
	public:
		RenderManager();
		~RenderManager();

		bool update(const unsigned int &pulse_ms);

		irr::IrrlichtDevice &getDevice() { return *device; }
		irr::video::IVideoDriver &getDriver() { return *driver; }
		irr::scene::ISceneManager &getSceneManager() { return *smgr; }
		irr::gui::IGUIEnvironment &getGui() { return *gui; }

	private:
		irr::IrrlichtDevice *device;
		irr::video::IVideoDriver* driver;
		irr::scene::ISceneManager* smgr;
		irr::gui::IGUIEnvironment* gui;
	};
}
